<?php

App::uses('AppController', 'Controller');

class KalkulatorController extends AppController {

    public $uses = array( 'Opstina', 'Kalkulator' );
	
	public $pageTitle = 'Kalkulator registracije vozila';
    
    public static $tipovi_motora = array(
        1 => 'Dvotaktni motor na benzin ili dizel',
        2 => 'Četvorotaktni motor na benzin ili dizel',
        3 => 'Euro III motor',
        4 => 'Euro IV motor ili TNG'
    );
    
    private function _setCommonData() {
        // opstine
        $opstine = $this->Opstina->getOptions();
        
        // godiste
        for($i=date('Y'); $i>=1900; $i--) {
            if (empty($godiste)) $godiste = array();
            $godiste[$i] = $i;
        }
        
        // snaga motora
        for($i=500; $i>0; $i--) {
            if (empty($snaga)) $snaga = array();
            $snaga[$i] = $i;
        }
        
        // tip motora
        $tipovi_motora = self::$tipovi_motora;
        
        // premijski stepen
        $premijski_stepeni = array( 0 => 'Tek nabavljeno vozilo' );
        for($i=1; $i<13; $i++) {
            $premijski_stepeni[$i] = $i;
        }
        
        $this->set(compact('opstine', 'godiste', 'snaga', 'tipovi_motora', 'premijski_stepeni'));
    }
    
    public function index() {
        $this->_setCommonData();
        
        $data = array(
            'Kalkulator' => array(
                'snaga'             => 60,
                'premijski_stepen'  => 4
            )
        );
        
        $this->set(compact('data'));
    }
    
    public function izracunaj() {
        $data = $this->data;
        if (! empty($data)) {
            $this->layout = 'ajax';
            
            $this->Kalkulator->create($data);
            if (! $this->Kalkulator->validates()) {
                header('HTTP/1.0 500 Invalid');
                
                $this->_setCommonData();
                $this->set('data', $data);
                die($this->render('index'));
            }
            
            $invoice = $this->Kalkulator->calculate($data['Kalkulator']);
            
            $this->set(compact('data', 'invoice'));
            return $this->render('izracunaj');
        }
        
        $this->redirect('/');
    }

}

?>